package com.ruoyi.base.util;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

/**
 * @Author:
 * @createTime: 2022年08月16日 15:33:26
 * @Description: 编号生产工具
 */
public class GenCodeUtils {

    /**
     * 构件班组编号 XRXL2204090020
     * @return
     */
    public static String getTeamNo(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "XRXL" + sdf.format(new Date());
    }

    /**
     * 构件分类，类别代码 CategoryCode
     */
    public static String getCategoryCode(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "GJGL" + sdf.format(new Date());
    }

    public static String getProcedureClassifyNo(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "PCN" + sdf.format(new Date());
    }
    /**
     * 工序编号
     */
    public static String getProcedureNo(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "PN" + sdf.format(new Date());
    }

    /**
     * 工艺流程编号
     */
    public static String getProcessNo(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "PRONO" + sdf.format(new Date());
    }

    /**
     * 供应商编号
     */
    public static String getSupplierNo(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "SUPNO" + sdf.format(new Date());
    }

    /**
     * 出库单编号

    public static String getSupplierNo(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "SUPNO" + sdf.format(new Date());
    }*/

    /**
     * 收料单编号
     * @return
     */
    public static String getReceiptMaterialNo(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "PRONO" + sdf.format(new Date());
    }

    /**
     * 物料类别编号
     * @return
     */
    public static String getMaterialCategoryNo(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "PRONO" + sdf.format(new Date());
    }

    /**
     * 物料单位编号
     * @return
     */
    public static String getUnitNo(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "PRONO" + sdf.format(new Date());
    }
    /**
     * 出库单编号
     * @return
     */
    public static String getOutBoundOrderNo(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "OUTNO" + sdf.format(new Date());
    }


    public static String getProjectNo(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "XRXL" + sdf.format(new Date());
    }
    /**
     * 构件编号
     * @return
     */
    public static String getCompomentInfoNo(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "COMP" + sdf.format(new Date());
    }

    /**
     * BOM编号
     * @return
     */
    public static String getBOMNo(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "BOM" + UUID.randomUUID().toString().replace("-", "") + sdf.format(new Date());
    }

    /**
     * 零件编号
     * @return
     */
    public static String getPartstNo(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddssss");
        return "PAR" + UUID.randomUUID().toString().replace("-", "") + sdf.format(new Date());
    }


    /**
     * 合同编号
     */
    public static String getContractNo(){
        return com.ruoyi.common.utils.uuid.UUID.fastUUID().toString(true);
    }

    /**
     * 合同计划编号
     */
    public static String getContractPlanNo(){
        return com.ruoyi.common.utils.uuid.UUID.fastUUID().toString(true);
    }

    /**
     * 工单code
     */
    public static String getWorkOrderInfoNo(){
        return com.ruoyi.common.utils.uuid.UUID.fastUUID().toString(true);
    }

    /**
     * code
     */
    public static String getDeliveryPlanNo(){
        return com.ruoyi.common.utils.uuid.UUID.fastUUID().toString(true);
    }

    /**
     * 发运单code
     */
    public static String getWaybillNo(){
        return com.ruoyi.common.utils.uuid.UUID.fastUUID().toString(true);
    }


}
